/*
  1.1 小杨的 X 字矩阵
    时间限制：1.0 s
    内存限制：128.0 MB
    问题描述
      小杨想要构造一个 N*N 的 X 字矩阵（ N为奇数），这个矩阵的两条对角线都是半角加号 + ，
      其余都是半角减号- 。
      例如，一个 的 X 字矩阵如下：
        +---+
        -+-+-
        --+--
        -+-+-
        +---+
      请你帮小杨根据给定的 打印出对应的“X 字矩阵”。
  1.2 输入描述
    一行一个整数 N（ 5 <= N <= 49 ，保证 N 为奇数）。
  1.3 输出描述
    输出对应的“X 字矩阵”。
    请严格按格式要求输出，不要擅自添加任何空格、标点、空行等任何符号。
    你应该恰好输出 N 行，每行除了换行符外恰好包含 N 个字符，这些字符要么是 +，要么是 -。
  1.4 特别提醒
    在常规程序中，输入、输出时提供提示是好习惯。
    但在本场考试中，由于系统限定，请不要在输入、输出中附带任何提示信息。
  1.5 样例输入 1
    5
  1.6 样例输出 1
    +---+
    -+-+-
    --+--
    -+-+-
    +---+
  1.7 样例输入 2
    7
  1.8 样例输出 2
    +-----+
    -+---+-
    --+-+--
    ---+---
    --+-+--
    -+---+-
    +-----+
*/
#include <iostream>

using namespace std;

int main() {
  int x = 1;
  int y;
  int n;
  cin >> n;
  y = n;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (j == 1 + x) {
        cout << "+";
      } else if (j == n - y) {
        cout << "+";
      } else {
        cout << "-";
      }
    }

    cout << endl;
    x++;
    y++;
  }

  return 0;
}